home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2002 November / SGI IRIX Base Documentation 2002 November.iso / usr / share / catman / p_man / cat3 / SCSL / sgghrd.z / sgghrd
Encoding:
Text File  |  2002-10-03  |  6.5 KB  |  199 lines

  1.  
  2.  
  3.  
  4. SSSSGGGGGGGGHHHHRRRRDDDD((((3333SSSS))))                                                          SSSSGGGGGGGGHHHHRRRRDDDD((((3333SSSS))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      SGGHRD - reduce a pair of real matrices (A,B) to generalized upper
  10.      Hessenberg form using orthogonal transformations, where A is a general
  11.      matrix and B is upper triangular
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      SUBROUTINE SGGHRD( COMPQ, COMPZ, N, ILO, IHI, A, LDA, B, LDB, Q, LDQ, Z,
  15.                         LDZ, INFO )
  16.  
  17.          CHARACTER      COMPQ, COMPZ
  18.  
  19.          INTEGER        IHI, ILO, INFO, LDA, LDB, LDQ, LDZ, N
  20.  
  21.          REAL           A( LDA, * ), B( LDB, * ), Q( LDQ, * ), Z( LDZ, * )
  22.  
  23. IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
  24.      These routines are part of the SCSL Scientific Library and can be loaded
  25.      using either the -lscs or the -lscs_mp option.  The -lscs_mp option
  26.      directs the linker to use the multi-processor version of the library.
  27.  
  28.      When linking to SCSL with -lscs or -lscs_mp, the default integer size is
  29.      4 bytes (32 bits). Another version of SCSL is available in which integers
  30.      are 8 bytes (64 bits).  This version allows the user access to larger
  31.      memory sizes and helps when porting legacy Cray codes.  It can be loaded
  32.      by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
  33.      only one of the two versions; 4-byte integer and 8-byte integer library
  34.      calls cannot be mixed.
  35.  
  36. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  37.      SGGHRD reduces a pair of real matrices (A,B) to generalized upper
  38.      Hessenberg form using orthogonal transformations, where A is a general
  39.      matrix and B is upper triangular: Q' * A * Z = H and Q' * B * Z = T,
  40.      where H is upper Hessenberg, T is upper triangular, and Q and Z are
  41.      orthogonal, and ' means transpose.
  42.  
  43.      The orthogonal matrices Q and Z are determined as products of Givens
  44.      rotations.  They may either be formed explicitly, or they may be
  45.      postmultiplied into input matrices Q1 and Z1, so that
  46.  
  47.           Q1 * A * Z1' = (Q1*Q) * H * (Z1*Z)'
  48.           Q1 * B * Z1' = (Q1*Q) * T * (Z1*Z)'
  49.  
  50.  
  51. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  52.      COMPQ   (input) CHARACTER*1
  53.              = 'N': do not compute Q;
  54.              = 'I': Q is initialized to the unit matrix, and the orthogonal
  55.              matrix Q is returned; = 'V': Q must contain an orthogonal matrix
  56.              Q1 on entry, and the product Q1*Q is returned.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. SSSSGGGGGGGGHHHHRRRRDDDD((((3333SSSS))))                                                          SSSSGGGGGGGGHHHHRRRRDDDD((((3333SSSS))))
  71.  
  72.  
  73.  
  74.      COMPZ   (input) CHARACTER*1
  75.              = 'N': do not compute Z;
  76.              = 'I': Z is initialized to the unit matrix, and the orthogonal
  77.              matrix Z is returned; = 'V': Z must contain an orthogonal matrix
  78.              Z1 on entry, and the product Z1*Z is returned.
  79.  
  80.      N       (input) INTEGER
  81.              The order of the matrices A and B.  N >= 0.
  82.  
  83.      ILO     (input) INTEGER
  84.              IHI     (input) INTEGER It is assumed that A is already upper
  85.              triangular in rows and columns 1:ILO-1 and IHI+1:N.  ILO and IHI
  86.              are normally set by a previous call to SGGBAL; otherwise they
  87.              should be set to 1 and N respectively.  1 <= ILO <= IHI <= N, if
  88.              N > 0; ILO=1 and IHI=0, if N=0.
  89.  
  90.      A       (input/output) REAL array, dimension (LDA, N)
  91.              On entry, the N-by-N general matrix to be reduced.  On exit, the
  92.              upper triangle and the first subdiagonal of A are overwritten
  93.              with the upper Hessenberg matrix H, and the rest is set to zero.
  94.  
  95.      LDA     (input) INTEGER
  96.              The leading dimension of the array A.  LDA >= max(1,N).
  97.  
  98.      B       (input/output) REAL array, dimension (LDB, N)
  99.              On entry, the N-by-N upper triangular matrix B.  On exit, the
  100.              upper triangular matrix T = Q' B Z.  The elements below the
  101.              diagonal are set to zero.
  102.  
  103.      LDB     (input) INTEGER
  104.              The leading dimension of the array B.  LDB >= max(1,N).
  105.  
  106.      Q       (input/output) REAL array, dimension (LDQ, N)
  107.              If COMPQ='N':  Q is not referenced.
  108.              If COMPQ='I':  on entry, Q need not be set, and on exit it
  109.              contains the orthogonal matrix Q, where Q' is the product of the
  110.              Givens transformations which are applied to A and B on the left.
  111.              If COMPQ='V':  on entry, Q must contain an orthogonal matrix Q1,
  112.              and on exit this is overwritten by Q1*Q.
  113.  
  114.      LDQ     (input) INTEGER
  115.              The leading dimension of the array Q.  LDQ >= N if COMPQ='V' or
  116.              'I'; LDQ >= 1 otherwise.
  117.  
  118.      Z       (input/output) REAL array, dimension (LDZ, N)
  119.              If COMPZ='N':  Z is not referenced.
  120.              If COMPZ='I':  on entry, Z need not be set, and on exit it
  121.              contains the orthogonal matrix Z, which is the product of the
  122.              Givens transformations which are applied to A and B on the right.
  123.              If COMPZ='V':  on entry, Z must contain an orthogonal matrix Z1,
  124.              and on exit this is overwritten by Z1*Z.
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. SSSSGGGGGGGGHHHHRRRRDDDD((((3333SSSS))))                                                          SSSSGGGGGGGGHHHHRRRRDDDD((((3333SSSS))))
  137.  
  138.  
  139.  
  140.      LDZ     (input) INTEGER
  141.              The leading dimension of the array Z.  LDZ >= N if COMPZ='V' or
  142.              'I'; LDZ >= 1 otherwise.
  143.  
  144.      INFO    (output) INTEGER
  145.              = 0:  successful exit.
  146.              < 0:  if INFO = -i, the i-th argument had an illegal value.
  147.  
  148. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  149.      This routine reduces A to Hessenberg and B to triangular form by an
  150.      unblocked reduction, as described in _Matrix_Computations_, by Golub and
  151.      Van Loan (Johns Hopkins Press.)
  152.  
  153.  
  154. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  155.      INTRO_LAPACK(3S), INTRO_SCSL(3S)
  156.  
  157.      This man page is available only online.
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.